﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Game
{
    /*-------------------------------------------------------------------------
    | ITriggerEvent:
    | ------------
    | Interface trigger event callback
    |---------------------------------------------------------------------------*/
    public interface ISceneTriggerListener
    {
        void OnEnter(String sender, String other);
        void OnLeave(String sender, String other);
        void OnStay(String sender, String other);
    }

    /*-------------------------------------------------------------------------
    | ITriggerEventSystem:
    | ------------
    | Interface trigger event manager
    |---------------------------------------------------------------------------*/
    public interface ISceneTriggerEventSystem
    {
        void Clear();
        void AddListener(ISceneTriggerListener trigger);
    }

    /*-------------------------------------------------------------------------
    | IHitEvent:
    | ------------
    | Interface trigger event callback
    |---------------------------------------------------------------------------*/
    public interface ISceneHitListener
    {
        void OnHit(String a, String b, IDK.Vector3 impactForce);
    }

    /*-------------------------------------------------------------------------
    | ITriggerEventSystem:
    | ------------
    | Interface trigger event manager
    |---------------------------------------------------------------------------*/
    public interface ISceneHitEventSystem
    {
        void Clear();
        void AddListener(ISceneHitListener hit);
    }
}
